Copyright □ 1999, by Professor Jong-Hwan Kim, Korea Advanced Institute of Science and Technology (KAIST).  All rights reserved. Reproduction or translation of any part of this work is unlawful. Request for permission or further information should be addressed to Professor Jong-Hwan Kim at <johkim@vivaldi.kaist.ac.kr> or <Tel: +82-42-869-3448>

Prof. Jong-Hwan Kim	Intelligent Control Lab, KAIST

로봇축구 시스템

1. 로봇 축구 시스템의 구조

로봇 축구 시스템은 다개체 지능 제어 시스템이며, 지능제어 시스템이란 불확실성을 다룰 수 있고 학습 능력과 자율성을 가진 시스템을 말한다. 지능 제어 시스템은 환경에 대한 반사능력, 내부 상황에 대한 조절 능력, 정보처리 능력, 문제 해결 능력, 학습 능력, 추론 능력, 강인성 및 신뢰성을 갖추어야 한다. 퍼지 제어, 신경 회로망, 진화 연산 등의 기법은 시스템의 지능을 높이는데 이용될 수 있는 알고리즘들이다. 이런 알고리즘들은 모두 인간의 사고체계 및 행동 양식을 모방하려는 동기에서 나온 것이다.

다개체 시스템을 구현하는 것은 많은 수의 개체들로 이루어진 지능 시스템의 구현 원리를 정하고 그 시스템 내에서 개체들이 독자적인 행동을 하고 동시에 서로 협력할 수 있도록 하는 동작 메커니즘을 제공해 줄 수 있는 것을 말한다. 다개체 시스템을 이용할 경우의 장점은 하나의 중앙집중식 시스템으로는 해결할 수 없는 아주 복잡한 일들을 수행 할 수 있으며, 여러 일을 할 수 있는 우수한 한 시스템을 만드는 것 보다 능력은 다소 떨어지지만 여러 종류의 만들기 쉽고 싼 시스템을 제작하는 것이 유리할 수 있다는 점이다. 로봇 축구는 위와 같은 지능 제어 시스템과 다개체 시스템의 특징을 모두 가지고 있으며 따라서 그 연구 가치가 매우 높은 시스템이라 할 수 있다. 축구로봇 시스템은 로봇, 영상 시스템, 통신 장비, 주 컴퓨터로 이루어진다. 이런 시스템을 구성하기 위해서는 CPU의 선택, 로봇의 구동 방법, 센서의 이용 등 다양한 기술이 필요하다. 이러한 기술을 어떤 방식으로 적용할 것인가는 로봇 시스템의 어느 부분을 지능화 할 것인가에 따라 달라진다. 여기서 말하는 지능은 주어진 목적을 이해한 후에 주변 환경을 분석하고 각 로봇들이 목적을 달성할 수 있도록 제어를 하는 능력을 일컫는다.

그림 1은 로봇 축구 시스템의 구성을 나타낸 것이며 위의 그림에서 지능은 주 컴퓨터 또는 이동 로봇 아니면 양쪽 모두에 포함된다. 시스템의 지능이 어디에 구현되었는가와 어느 정도 구현되었는가에 따라 구현할 로봇 시스템을 비젼 기반 축구로봇 시스템(Vision-based soccer robot system)과 로봇 기반 축구로봇 시스템(Robot-based soccer robot system) 으로 나눌 수 있다.

Prof. Jong-Hwan Kim	Intelligent Control Lab, KAIST

.

그림 .  로봇 축구 시스템의 구성

비젼 기반 축구로봇 시스템은 다시 원격 지능형 축구로봇 시스템(Remote-brainless soccer robot system)과 지능 내재형 축구로봇 시스템(Brain-on-board soccer robot system)으로 나눌 수 있다. 대부분의 구현된 로봇 시스템들은 3가지 방법 중 하나에 속하거나 또는 3가지 방법의 혼용이 된 것이다. 본 장에서는 로봇 축구 시스템을 구현하는 3가지 방법을 정의하고 각각 장단점을 알아보겠다.

2. 비젼 기반 축구로봇 시스템

(1) 원격 지능형 축구로봇 시스템

그림 . 원격 지능형 축구로봇 시스템

원격 지능형 축구로봇시스템(Remote-brainless soccer robot system)은 그림 2에서와 같이 로봇 축구 수행에 필요한 지능의 대부분이 주컴퓨터에서 구현되는 방식이다. 이 시스템의 경우 로봇은 구동부와 간단한 제어를 할 수 있는 연산부로만 이루어지고 모든 계산은 주컴퓨터에서 처리되어 로봇에게 전달되는 방법이다. 로봇에게 전달되는 정보는 원하는 각 바퀴의 속도 값이 된다. 이러한 시스템은 한 대의 컴퓨터가 세대의 RC카( radio-frequency control car)를 조정하는 것과 같다.

원격 지능형 축구로봇 시스템은 세 가지 방법 중 로봇의 구조가 제일 간단하여 값싸게 구현할 수 있다. 이 방법은 로봇 자체에는 센서 등이 내장되어 있지 않으므로 정확한 제어를 위해서는 주 컴퓨터의 계산능력이 뛰어나야 한다. 일반적으로 로봇의 위치제어나 다른 여러 제어를 위해서 로봇에 내장된 제어기를 사용하게 되는데 이 방식은 제어기가 외부의 주 컴퓨터에 있는 것이다. 정확한 제어를 위해서는 빠른 샘플링 시간이 요구되므로 영상처리, 제어 알고리즘, 통신 등의 처리시간이 빨라야 한다. 그러므로 고성능의 영상 시스템 및 주 컴퓨터 시스템이 필요하다.

원격 지능형 축구 로봇 시스템의 모든 소프트웨어는 한 대의 컴퓨터에 집중되어서 구현된다. 이러한 방식은 중앙 집중시스템의 장단점을 모두 가지게 된다. 중앙 집중식의 유리한 점은 다개체 시스템의 효율적인 협동작업을 위해 통신 로봇간 수단이 따로 필요 없으므로 쉽게 프로그래밍으로 구현될 수 있으나, 강인성의 문제점과, 개체수가 점점 많아지게 되면 주 컴퓨터의 계산 부하가 점점 커지게 되는 단점이 있다.

(2) 지능 내재형 축구 로봇 시스템

그림 . 지능 내재형 축구로봇 시스템

지능 내재형 축구로봇 시스템은 (1)절에서 설명한 원격 지능형 축구로봇 시스템과 (3)절에서 설명할 로봇 기반 축구로봇 시스템의 중간 레벨로 생각될 수 있는 방법이다. 그림 4 에서와 같이 주 컴퓨터와 이동 로봇에 지능이 나뉘어서 구현된다. 이동 로봇은 간단한 장애물 회피, 위치제어, 속도제어를 할 수 있는 능력을 가지도록 구성되고, 주 컴퓨터에서는 영상에서 처리된 데이터에 의해 기본 전략을 계산한 후 각 로봇에게 어느 위치로 이동하라는 등의 명령을 보내도록 구성한다.

로봇은 원격 지능형 축구로봇 시스템보다는 많은 기능이 내장되어 있어야 한다. 대신 주 컴퓨터가 처리하는 계산 부하는 원격 지능형 축구로봇 시스템보다 줄어들게 된다. 주 컴퓨터는 비젼 정보를 받아들여 전술에 따라 각 로봇의 역할과 행동을 결정하며 로봇은 자신이 취해야 할 행동에 따라 적절한 이동 및 장애물 회피, 자세 제어 등을 하게 된다. 이 방법은 영상 시스템이나 주 컴퓨터의 샘플링 시간이 원격 지능형 축구로봇 시스템보다는 느려도 된다.

이 시스템은 잘 훈련된 개를 이용하여 사람이 원하는 이동명령을 내리면 그대로 수행하는 방법에 비유될 수 있다. 여기서 주 컴퓨터에 해당되는 사람은 모든 개의 움직임을 세세히 신경 쓸 필요 없이 상황에 맞는 전술을 선택하여 명령을 내리기만 하면 된다. 장애물 회피같이 위험 상황을 스스로 감지하여 이를 스스로 대처해 나갈 수 있도록 하여 감독하는 사람의 부담을 덜어 주는 것으로 생각할 수 있다.

(3) 로봇 기반 축구 로봇 시스템

그림 . 로봇 기반 축구로봇 시스템

로봇 기반 축구로봇 시스템은 그림 4 에서와 같이 로봇 축구 수행에 필요한 지능의 대부분이 로봇에서 구현되는 방식이다. 이 시스템의 경우 주 컴퓨터는 로봇들의 위치 및 각도와 공의 위치를 알아내는 작업만을 하며, 통신 시스템을 통해 각 위치정보를 로봇에게 전달할 뿐이다. 로봇은 자율이동로봇으로 단지 영상 시스템을 갖지  않았기 때문에 외부에서 보내주는 정보를 이용하는 것이다

기본 행동의 수행이나 센서를 이용한 장애물 회피 뿐 아니라, 임무를 분석하고 취해야 할 행동을 결정하는 것 등이 모두 로봇 내부에서 이루어진다. 이 방식을 이용한 로봇은 자체 기능이 많이 내장되어 있어서, 이동, 통신, 전략구사 등의 모든 처리를 해야 하기 때문에 구현하기 제일 어렵다. 대신 주 컴퓨터의 할 일은 영상 처리와 통신 등의 간단한 일을 하게 되며 단순히 로봇의 외부 시각 센서로 생각할 수 있다. 이러한 시스템은 로봇이 스스로 센서를 이용하여 주변의 장애물이나 공 등을 직접 인식할 수 있고, 돌발적인 상황이 발생했을 경우에도 자체 판단 기능 및 대처 능력을 갖게 된다. 그러나 주 컴퓨터에서 많은 부분을 처리하는 앞의 두 시스템 구조의 경우에는 비젼의 처리 속도가 곧 전체 시스템의 처리 속도가 되며 로봇들의 순간 대처 능력이 비젼 시스템 및 주 컴퓨터의 성능에 좌우된다. 로봇 기반 축구로봇 시스템 방식은 자율성과 높은 지능을 위하여 앞서 설명한 비젼 기반 축구 로봇 시스템 방식에 비해 많은 연구가 되어야 한다. 자율이동로봇의 구현, 소프트웨어의 분산처리 협동을 위한 개체간의 통신 등, 현재 한창 연구되고 있는 분야들이다.

로봇 기반 축구로봇 시스템은 분산적인 시스템이므로 연산 부하가 한 곳에 집중되지 않는다. 따라서, 개체의 수가 증가하는 경우에도 적합한 구조라고 할 수 있다. 그러나, 로봇간의 통신이 이루어지지 않으면 각 로봇이 다른 로봇의 상태를 알아내기 어렵기 때문에 효율적인 협동이 이루어지지 않는다. 따라서, Robot-based system의 장점을 살리고 개체간의 협동 능력을 높이기 위해서는 로봇간의 통신이 필요하다.

(4) 시스템의 선택

위의 세 가지 방식은 축구를 하기 위한 지능이 어느 곳에 구현되는가에 따른 구분으로, 어느 방식이 더 우수한지는 쉽게 판명할 수 없다. 각 방식의 특징은 다음과 같이 정리할 수 있다.

(1) 비젼 기반 축구로봇 시스템

(A) 원격지능형 축구로봇 시스템

장점: 로봇의 구조가 간단하여 구현이 쉽다.

프로그램의 개선이나 추가가 용이하다.

단점: 주 컴퓨터와 비젼 시스템의 연산 시간이 빨라야 한다.

적외선 또는 접촉 센서 등의 국부적인 정보를 이용할 수 없다.

(B) 지능 내재형 축구로봇 시스템

장점: 시스템의 모듈화가 쉽고 시스템의 확장성도 용이하다.

원격지능형 축구로봇 시스템보다 영상 시스템이 효율이 떨어져도 된다.

단점: 로봇 프로그램과 주컴퓨터 프로그램간의 일관성을 잃을 위험이 있다.

(2) 로봇 기반 축구로봇 시스템

장점: 개체의 수가 증가하여도 개발이 용이하다.

변화하는 환경에 대해 효율적이고 빠른 반응을 보일 수 있다.

주컴퓨터, 영상 시스템에 연산량이 집중되지 않는다.

단점: 로봇 제작이 복잡하다.

로봇간의 통신이 구현되어야 효율적이다.

로봇 자체의 지능은 마지막 방식이 제일 높지만 대신 구현하기 어렵다. 첫 번째 방식은 로봇 자체의 지능이 제일 떨어지므로 대신 주컴퓨터의 능력이 뛰어나야 한다. 결국 전체 시스템을 놓고 보았을 때는 세 시스템의 지능 정도는 비슷하게 될 것이다. 세 가지 방식 중 선택하는 기준은 설계자의 연구관심 분야에 달려있다. Remote-brainless soccer robot system은 영상처리와 다개체 시스템의 이론 연구에 관심 있는 사람들이 쉽게 접근할 수 있는 방식이며, Robot-based soccer robot system은 로봇 자체의 연구와 다개체 시스템의 실제 적용 연구에 관심 있는 사람이 선택할 방식일 것이다. 이런 면에서 Vision-based soccer robot system은 로봇과 영상 등의 연구에 경험이 있는 사람에게는 쉽게 접근할 수 있는 방식이 될 것이다.

2. 실험 시스템 설명

구현된 원격 지능형 실험 시스템에 대해 비젼시스템, 로봇, 그리고 통신방식에 대해 설명하겠다.

(1) 비젼시스템

경기장내 물체들의 위치를 알아내기 위해서 사용되는 컬러 비젼시스템은 컬러 CCD카메라와 영상신호를 처리하기 위한 비젼보드로 이루어져 있으며 비젼보드로는 TV 수신카드가 사용된다. 영상신호의 한 프레임을 저장하는데 약 33ms이면 된다. 물체의 위치를 계산하기 위해서는 색정보를 이용한다. 단순히 물체의 명암만을 이용할 경우 유사한 밝기의 물체들을 구분하는데 어려움이 있지만 색 정보를 이용할 경우 물체 추출이 더 용이하다. 실험에 사용될 실행 파일의 화면은 그림 5와 같다.

그림 . 비젼 프로그램 실행환경 1

그림 5의 왼쪽 상단이 카메라에서 컴퓨터로 전달된 화면이며 해상도는 320[eqn: times]240 픽셀이다. 처음 실행을 하여 Load Vxd 버튼을 누른 후 수 초를 기다리다 Start Grab 버튼을 누른다. 이때 생기는 화면은 그림 6이다. Start Grab 버튼을 누르고 나서 하는 일은 색깔 설정과 공과 로봇들의 초기 위치 지정이다. 먼저 색깔 설정을 위해서는 기존에 저장한 configuration 파일이 있으면 이를 불러서 사용하고 없으면 새로 지정한 색깔, 경기장 크기 등을 configuration 파일로 저장할 수 있다. 처음 색깔을 설정할 때는 Set color 버튼을 선택하여 색깔의 범위를 지정하고, 색깔 범위를 변화시키려면 Change color 버튼을 이용한다. Set Robot Size버튼을 이용하면 로봇의 크기를 지정할 수 있고,  Set Pixel Size버튼을 이용하면 모든 색깔(공 색깔, 팀 색깔, 로봇 색깔, 상대편 팀 색깔)의 크기를 설정할 수 있다. 색깔 설정을 하고 나서 경기장의 크기를 정한다. 이는 Set Boundary 버튼을 이용하여 왼쪽 위에 보이는 화면상에서 크기를 설정할 수 있다. 이런 기능과 관련된 부분의 버튼이 그림 6의 가운데 부분에 있는 것들이다. 색깔을 지정한 후에 공과 로봇들의 초기 위치를 설정한다. 이를 위해서는 Find Objects에 있는 공이나 로봇들을 선택하는 check 버튼을 지정한다. 그런 후에 Initial Position에서 찾고자 하는 물체의 Radio 버튼을 선택한다. 찾고자 하는 물체를 선택한 후 화면상에 보이는 물체를 마우스로 클릭하면 처음 위치가 지정된다. 공과 상대편을 포함하여 모두 7가지의 물체를 찾을 수 있으며 만일 Find Objects에서 check 버튼이 선택되어 있지 않으면 그 물체는 찾지 않는다.

그림 6. 비젼 프로그램 실행환경2

색깔 설정과 경기장의 크기를 정한 후 Start 버튼을 누르면 로봇들이 움직인다. 각 상황(Kick Off, Penalty Kick, Free Kick, Free Ball 등)에 맞게 로봇들을 제어하는 전술에 대한 프로그램을 완성해야 한다.

Select Port에 두 개의 콤보박스가 있다. COM1과 COM2인데 이는 주컴퓨터에서 로봇들에게 명령을 전송할 때 컴퓨터의 시리얼 포트중 COM 또는 COM2를 선택하는 것을 의미한다. 이처럼 콤보박스는 여러 개 중에서 하나만 선택할 때 사용한다. Select Port 밑에 Home Goal이 있는데 이는 자기편 골대가 왼쪽에 있는지 오른쪽에 있는지를 선택할 때 사용된다. 만약 자기편 골대가 Left Side로 선택되었으면 오른쪽 골대로 공을 넣어야 한다.  실행 중에 프로그램을 중지시키려면 Stop 버튼을 누른다. Stop 버튼이 눌리면 주컴퓨터에서는 로봇들에게 데이터를 보내지 않으면 물체를 찾는 비젼프로그램도 중지된다. 다시 실행을 하려면  Ready 버튼을 누른 후 Start 버튼을 누르면 로봇들이 움직이기 시작한다.

(2) 로봇시스템

로봇 축구 시스템을 이루는 요소 중에 하나가 로봇 시스템이다. 그림 7은 로봇 시스템의 주요 구성부를 나타낸 것으로, 로봇 시스템은 크게 마이크로컨트롤러, 모터 구동부, 통신부, 전원부로 이루어져 있다. 이들 각각에 대하여 공부하게 될 것이다.

완성된 로봇은 그림 8과 같다. 로봇은 크게 회로기판, 충전지, 모터, 몸체(바퀴 포함)로 구성된다. 로봇의 회로기판은 2개로 분리되어 있으며 밑에 기판에는 주로 파워소자들(전원 레귤레이터, 모터구동 칩)이 있고 위에 기판에는 마이크로 컨트롤러와 적외선 통신 모듈이 있다. 그리고 컴퓨터에서 직접 속도 데이터를 받아서 제어를 할 수 있게 하는 회로도 존재한다. 충전지는 로봇의 모터전원과 로직회로의 전원으로 쓰인다. 모터는 130:1의 기어비를 가진 소형 DC 모터를 사용한다. 로봇의 특성을 좋게 하는 요인 중에 하나가 모터이며 모터의 반응시간이 짧고 선형적인 특성이 좋으면 로봇의 성능이 뛰어나게 된다.

그림 7. 로봇 시스템의 주요 구성부

그림 8. 로봇의 외형 사진

(3) 적외선 통신

실험 시스템은 원격 지능형 축구로봇 시스템으로 구현되어 있다. 즉, 주 컴퓨터에서 바퀴속도에 대한 명령을 내리면 이동로봇들은 자신의 바퀴를 움직인다. 그리고 주 컴퓨터와 로봇간 통신은 RF(라디오 주파수) 방식을 주로 쓰나, 여기서는 적외선 방식으로 구현되었다. 적외선 통신 방식에서는 발광부에서 수광부에 신호를 보내면 시야각 내에서는 정확한 데이터를 받을 수 있다.

그림 9. 적외선 통신

시야각이 제한되어 있으므로 경기장 전체에 대해서 적외선 통신으로 주컴퓨터에서 보낸 데이터를 로봇들이 받으려면 발광부에 4개의 적외선 모듈이 필요하다.

각 팀별로 주 컴퓨터에서 보내는 데이터 패킷은 중계기를 거쳐서 적외선 모듈로 전달된다. 중계기에서는 컴퓨터에서 먼저 온 데이터 패킷을 처음에 보내고 그 다음에 온 데이터 패킷을 나중에 보낸다. 각 데이터 패킷의 처음부분에는 각 팀을 구분하는 데이타가 존재하여 로봇은 자기 팀의 데이터만을 받는다. 즉, 3대의 로봇에 대한 데이터 패킷은 처음에 팀을 구분하는 데이터와 로봇들의 속도 데이터, 로봇들을 구분시켜주는 데이터로 이루어진다.

그림 10. 중계기

그림 11. 데이터 패킷형식

그림 11에서 0xFF 0xFF 0xFF는 패킷의 시작을 알리는 데이터들이고 0x0F는 팀A를 나타내며, 상대팀인 B팀일 경우 이 데이터는 0xF0로 설정되어 있다. 속도 데이터 끝에 있는 0xAA는 수신된  데이터의 완전유무를 확인하기 위해 사용한다. 즉, 팀을 구분하는 데이터 (0x0F나 0xF0)와 모든 속도 데이터의 끝에 있는 0xAA를 검사하여 수신된 데이터 패킷의 완전성을 확인한다.